[WIP][GLUTEN-4213] Join support pullout pre-project#10851
[WIP][GLUTEN-4213] Join support pullout pre-project#10851liujiayi771 wants to merge 4 commits intoapache:mainfrom
Conversation
b428584 to
a3fc246
Compare
|
Run Gluten Clickhouse CI on x86 |
|
Run Gluten Clickhouse CI on x86 |
6359bec to
658d798
Compare
|
Run Gluten Clickhouse CI on x86 |
|
For the a test query (likely the 19th) in Plans generated by RAS and LEGACY are different: RAS: LEGACY: The error is: I haven't investigated about the discrepancy here, but it seems this part of the query plan from RAS is a bit off: Where the pulled I guess this is a plan pattern that the LEGACY planner can also generate? Should we really pull out the project on BHJ's build side? |
|
@zhztheplayer LEGACY also has this issue. I added a rewrite fallback logic for the join. When pulled out project would have a fallback(can definitely make it more granular, focusing on the "broadcast join"), the join itself will also fallback together. Here, it seems that RAS did not restore the plan and still generated a pre-project. I can debug the reason. However, I found that the pre-project of the join can be handled through the pull-out framework. When I tried to handle the post-project, I found it difficult to implement. The output of the join is not controlled by a resultExpression like in agg or window; instead, it is entirely based on the left and right inputs. It seems this might not be fully achievable at the moment. |
b889291 to
fa5e0fd
Compare
fa5e0fd to
258db08
Compare
959cd88 to
6e96ff8
Compare
|
Run Gluten Clickhouse CI on x86 |
6e96ff8 to
695604d
Compare
|
Run Gluten Clickhouse CI on x86 |
|
Run Gluten Clickhouse CI on x86 |
|
Run Gluten Clickhouse CI on x86 |
|
Run Gluten Clickhouse CI on x86 |
What changes are proposed in this pull request?
Support join pullout pre-project.
How was this patch tested?
Existing unit test cases.